//
//  DGGlobalTimerObserverManager.h
//  DGGlobalTimer
//
//  Created by Jinxiao on 7/25/14.
//  Copyright (c) 2014 debugeek. All rights reserved.
//

@class DGGlobalTimerObserver;

@interface DGGlobalTimerObserverManager : NSObject

+ (instancetype)sharedInstance;

- (BOOL)addGlobalTimerObserver:(DGGlobalTimerObserver *)observer;
- (BOOL)removeGlobalTimerObserver:(DGGlobalTimerObserver *)observer;

- (DGGlobalTimerObserver *)observerForIdentifier:(NSString *)identifier;

- (void)dispatchPreparedActionForKey:(NSString *)key;
- (void)dispatchInitializedActionForKey:(NSString *)key remains:(NSTimeInterval)remains;
- (void)dispatchTriggeredActionForKey:(NSString *)key remains:(NSTimeInterval)remains;
- (void)dispatchCompletedActionForKey:(NSString *)key;

@end
